home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / misc / emu / Apex-src.lha / ED.BUG < prev    next >
Text File  |  2001-09-30  |  9KB  |  223 lines

  1. ED.BUG        JUL-08-90
  2.  
  3. Larger buffer - around 100K, larger scoop
  4. colors - blue background is easier to see. Highlite command line
  5. LOOK:
  6. Make it easier and faster to see and understand text files:
  7.     Speed - instant loading and moving cursor around
  8.     Call KEYHIT less often
  9.     Instant searches forward and backward
  10.     Add command to cycle between different display resolutions
  11.     Windows - look at two parts at once. Auxillary cursor position.
  12.     Option to allow cursor to move up the page rather than scroll
  13.  
  14. Handle very long lines. Be able to edit .BIN files.
  15.  
  16. Use keypad to draw box characters.
  17.     ctrl - up and down arrows don't produce key codes
  18.     drawing in insert mode is awkward
  19.     The corner keys (7, 9, 1 & 3) could simply be converted to box 
  20.      corners when the Ctrl key is held down
  21.     Simply remap keyboard codes to provide the box characters
  22.  
  23. BUGS:
  24.  
  25. CTRL-Z is too close to CTRL-X. Even the oops command can't recover sometimes.
  26.  
  27. Oops should recover the scoop if it was just erased and there is no text
  28. in the edit buffer to recover.
  29.  
  30. The severely brain-damaged WYSE-30 can miss very fast keystrokes (quickly
  31. released) when the screen is updating. (Eliminate unnecessary screen
  32. updating -- but how?)
  33.  
  34. Handle cases where one or more disk files are missing. Handle I/O errors
  35. with the TRAP intrinsic.
  36.  
  37. Going into command-line mode prevents the rest of the display from updating.
  38.  
  39. Searching backward will not scoop up text.
  40.  
  41.  
  42. ADDITIONAL FEATURES:
  43.  
  44. There should be a command to show long lines (like CTRL-V).
  45.  
  46. Display the line above the cursor line immediately after displaying the cursor
  47. line, then do the lines after the cursor line. (Help the slow, dumb terminal.)
  48.  
  49. Option to turn off the bottom 3 lines and display text instead.
  50.  
  51. Simplify multiple command-line code. It's currently 4 times bigger than
  52. necessary.
  53.  
  54. Allow two cursors and use ^\ to flip between them.
  55.  
  56. DEL could be a forward delete. (Is this compatable with all terminals?)
  57.  
  58. Allow negative indents.
  59.  
  60.  
  61. SEARCH:
  62.  
  63. Search for "not" characters.
  64.  
  65. Search and replace (more convenient than having to count characters for a
  66. macro).
  67.  
  68. Distinguish a word search from a word embedded in another word. E.g: sTHE
  69. will find THE but not THESE.
  70.  
  71.  
  72. MACROS:
  73.  
  74. Long command lines should scroll horizontally.
  75.  
  76. Macros are important because they allow the user to extend the set of commands.
  77.  
  78. Brackets or parentheses could be used to control iterations of compound
  79. commands.
  80.  
  81. Load macros directly from disk. Or remember them somehow.
  82.  
  83. MRED-style macros.
  84.  
  85. Macro to insert 'BEGIN' 'END' for XPL programming.
  86.  
  87. Macros could replace Margin and Indent. Consider that the editor could be
  88. written such that only a few fundamental capabilities (primitives) were
  89. included. The other commands would be made up of these primitives, like
  90. macros, and assigned to control keys. For example, CTRL-S is the same as
  91. search forward for a carriage return, CTRL-Q is search backward for
  92. anything, etc.
  93.  
  94. The basic macro operations are:
  95.     Selecting a command line
  96.     Executing a command line
  97.     Programmable features such as executing equations and conditional branching
  98.     Editing
  99.     Debugging
  100.     Saving and loading
  101.  
  102.  
  103. BETTER BASIC ENGINEERING:
  104.  
  105. Computer terminals have some distinct disadvantages compared to paper and
  106. pencil. They suffer from tunnel vision. It is much easier to move a
  107. pencil than a cursor. It is much easier to make drawings and sketches on
  108. paper than it is with a text editor.
  109.  
  110. Whereas one can create an endless number of features which are useful in an
  111.  endless number of situations, I suspect that the simple features that are used
  112.  all the time can be improved.
  113. Fix bugs. Make the basics work extremely well.
  114. Make it super-fast.
  115. Is it better to move the cursor or to move the text? On a slow display like
  116.  an RS-232 terminal it may be better to only move the text when necessary.
  117. Simply pressing the shift key should change the cursor's appearance.
  118. "WYSIWYG" try to show underlines as underlines, bold as bold, etc.
  119.  (Unfortunately, terminals are hopelessly stupid in this regard.)
  120. Make it look like VED. VED is more standardized and more widely used than MRED.
  121. There are various types of editing problems:
  122.     Text for assembly language programs (no word-wrap)
  123.     Text for XPL programs
  124.     Text for documentation
  125.     Quick notes
  126.     Designing on the computer. (Notes to Myself)
  127.     Making drawings
  128.     pretty printing quality documentation.
  129.     Letters.
  130. MacWrite-style graphics handles drawings, special characters such as integral
  131.  symbols, subscripts, HEADLINES, etc (WYSIWYG).
  132. Use the arrow keys like all the other editors do.
  133. The operation of the editor should be consistent with the console handler.
  134.  
  135.  
  136. BLUE-SKY FEATURES AND MISC. IDEAS:
  137.  
  138. Make the scoop huge by allowing it to expand to the available memory size.
  139. Immediate command to un-transpose two characters.
  140. Operate only within a defined column or between defined lines.
  141. Allow editor to be run by command files.
  142. Move to line number N.
  143. Save text to disk without exiting the editor.
  144. Should there be a distinction between BS and DEL?
  145. Command to show additional status. (like whether or not case is considered in
  146.  searches.)
  147. Make obvious functions toggle (maybe) to increase the number of available keys
  148.  for commands.
  149. Extended commands use 2-letter codes.
  150. Edit binary files (showing ctrl characters makes it more of a possibility)
  151. Move cursor by paragraphs.
  152. Replace mode (instead of insert mode) is more convenient for creating drawings.
  153. Mini CAD system.
  154. Allow user to set the left edge of the horizontal scroll window. Flip (toggle)
  155.  back and forth. Show long lines.
  156.  
  157. Allow user to reassign functions to keys. (There may be more functions than
  158.  there are keys.) Also, allow a single keystroke to have multiple functions.
  159. Command to insert the current date.
  160. Command to insert current file name.
  161. Suppress the display of lines beyond a specified level of indentation (Think
  162.  Tank style).
  163. Add "*" and "/" operators for macros.
  164. Set tabs to any desired position. Only programmers like them on 8-char boundaries.
  165. The X register should use whatever memory is available, not just 1024 bytes.
  166.  (Then one must show the number of characters held not remaining.)
  167. Show time since last keypress. (by counting cursor flashes).
  168. Word wrap-around. (Some people think it is valuable--I don't see it. Is this just
  169.  margining?) Auto word-wrap (should also do an auto indent).
  170. VEX uses +/- in a logical way. This only seems useful for backward searches.
  171. Should be able to turn off the header and  command lines to see more text.
  172. Automatic upper-casing of a letter following a ".", "?", or "!". (Must be able
  173.  to turn off!)
  174. Auto hyphens.
  175. Disambiguize by automatically looking up words in a dictionary and finishing
  176.  them.
  177. Remargin with two spaces after periods. (Don't strip multiple spaces.)
  178. Beep on errors (must be able to turn off) (too annoying).
  179. Automatic centering of text (uses current margin parameters).
  180. Provide good documentation. For example, give a procedure to recover a lost file.
  181. Display the hex value of the character the cursor is on.
  182. Provide page-oriented editing, footnotes, headers, page numbers, etc.
  183. Allow the ESC character to be replaced by another character. This allows
  184.  searching for ESC, etc.
  185. Display the number of lines and pages from the beginning of the text buffer.
  186. HELP menus that automatically pop up when you pause too long.
  187. Auto scroll allows sitting back and reading documents (should use smooth
  188.  scroll).
  189. Double (or any) spacing of line.
  190. Command to center text vertically on a page.
  191. Margin command that recognizes paragraph breaks by indented lines (i.e. a
  192.  blank line is not required).
  193. Multiple windows allow merging files.
  194. Show contents of scoop.
  195. Smart tabs move to proper field in assy lang program (usually used for comments)
  196. Smart formatter converts "A:=B+1;" into "A:= B + 1;"
  197. Move cursor with a mouse. Smooth scroll to another page using a mouse.
  198. Soft hyphens could be removed when reformatting a paragraph.
  199. Display page numbers and line numbers.
  200. Show page breaks.
  201. Add the pretty printer to the editor (maybe).
  202. Add mail merge (Larry made one).
  203. Add an integrated spelling checker.
  204. Show caseshift mode both on the screen (cursor size) and on the keyboard
  205.  (LED).
  206. Display whether or not certain symbols are balanced, such as: single and
  207. double quotes, parenthesis, brackets, etc.
  208.  
  209.  
  210. PROGRAMMABLE KEYS ON WYSE-30 TERMINAL:
  211.  
  212. ESC    TAB    BS    DEL    CR    LF
  213. Arrows    Home    KPD,    KPD-    KPD.    Enter
  214. KPD0-9    F1-8    sF1-8
  215.  
  216.  
  217. Show 50 lines in interlace mode on the Amiga.
  218.  
  219. Graphics could be used to show the overall appearance of a document. A
  220. dot would be plotted for each printed character. Could also show page
  221. breaks and borders. However, this will reduce ED's portability.
  222.  be plotted for each printed character. Could also show page
  223. breaks and borders. However, this will reduce ED's portabi